package com.tianya.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.tianya.domain.dto.CourseOrderRequestDTO;
import com.tianya.domain.entity.CourseOrder;
import com.tianya.domain.vo.CourseOrderVO;
import com.tianya.domain.vo.PageResultVO;

public interface CourseOrderService extends IService<CourseOrder> {
    /**
     * 创建课程订单
     * @param courseOrderRequestDTO 订单请求DTO
     */
    CourseOrder createCourseOrder(CourseOrderRequestDTO courseOrderRequestDTO);

    /**
     * 分页查询课程订单
     * @param pageNum 页码
     * @param pageSize 每页大小
     * @param courseOrderRequestDTO 查询条件
     * @return 分页结果
     */
    PageResultVO<CourseOrderVO> pageCourseOrder(Long pageNum, Long pageSize, CourseOrderRequestDTO courseOrderRequestDTO);

    /**
     * 更新订单状态为已支付
     * @param orderId 订单ID
     * @param parentId 家长ID
     * @return 是否成功
     */
    boolean updateOrderStatus(Long orderId, Long parentId);

    /**
     * 获取订单详情
     * @param orderId 订单ID
     * @param parentId 家长ID
     * @return 订单详情
     */
    CourseOrder getOrderDetail(Long orderId, Long parentId);

    /**
     * 取消订单
     * @param courseOrderRequestDTO 包含订单ID和家长ID的DTO
     * @return 是否成功
     */
    boolean cancelOrder(CourseOrderRequestDTO courseOrderRequestDTO);
}